function myNew(fn, ...args) {
  let proto = fn.prototype

  let obj = Object.create(proto)
  let ret = fn.apply(obj, args)
  return ret && typeof ret === 'object' ? ret : obj
}
function Person(name, age) {
  this.name = name;
  this.age = age;
}
Person.prototype.say = function () {
  console.log(this.age);
};
let p1 = myNew(Person, "lihua", 18);
console.log(p1.name);
console.log(p1);
p1.say();
